BWA -- bwa-mem2
1.BWA简介
BWA(Burrows-Wheeler Aligner)主要是将reads比对到大型基因组上,主要功能是:序列比对。
首先通过BWT(Burrows-Wheeler Transformation,BWT压缩算法)为大型参考基因组建立索引,然后将reads比对到基因组。特点是快速、准确、省内存。
由三种类似算法组成:BWA-backtrack,BWA-SW和BWA-MEM。
首推BWA-MEM。
1.1三种算法的适用范围
- BWA-backtrack:reads长度<70bp时,推荐本算法,建议输入reads长度 < 100bp。
- BWA-SW:在reads具有频繁的gap时,比对更敏感,推荐本算法。reads长度一般为70bp-1Mbp,支持long-reads,split alignment。
- BWA-MEM(首推):在reads长度在70bp-1Mbp范围时,推荐本算法(除了上面两种情况)。支持long-reads,split alignment。
1.2BWA参数
序列比对BWA之参数:index, mem, aln, samse, sampe, bwasw
- bwa index ref.fa # 首先建立基因组索引
- bwa mem ref.fa reads.fq > aln-se.sam # 调用BWA-MEM
- bwa mem ref.fa read1.fq read2.fq > aln-pe.sam # 调用BWA-MEM
- bwa aln ref.fa short_read.fq > aln_sa.sai # 调用BWA-backtrack
- bwa samse ref.fa aln_sa.sai short_read.fq > aln-se.sam # 调用BWA-backtrack
- bwa sampe ref.fa aln_sa1.sai aln_sa2.sai read1.fq read2.fq > aln-pe.sam # 调用BWA-backtrack
- bwa bwasw ref.fa long_read.fq > aln.sam # 调用BWA-SW
- 注意:BWA输入的是fastq/fq的原始测序数据。
1.3Published Articles:
- The short read alignment component (bwa-short) has been published:
Li H. and Durbin R. (2009) Fast and accurate short read alignment with Burrows-Wheeler Transform. Bioinformatics, 25:1754-60. [PMID: 19451168 IF: 6.931 Q1 B3] - If you use BWA-SW, please cite:
Li H. and Durbin R. (2010) Fast and accurate long-read alignment with Burrows-Wheeler Transform. Bioinformatics, Epub. [PMID: 20080505 IF: 6.931 Q1 B3] - If you use the fastmap component of BWA, please cite:
Li H. (2012) Exploring single-sample SNP and INDEL calling with whole-genome de novo assembly. Bioinformatics, 28, 1838-1844. [PMID: 22569178 IF: 6.931 Q1 B3]
2.bwa-mem2
2.1安装
$ curl -L https://github.com/bwa-mem2/bwa-mem2/releases/download/v2.2.1/bwa-mem2-2.2.1_x64-linux.tar.bz2 | tar jxf -
$ bwa-mem2-2.2.1_x64-linux/bwa-mem2 index ref.fa
$ bwa-mem2-2.2.1_x64-linux/bwa-mem2 mem ref.fa read1.fq read2.fq > out.sam
2.2使用
# 建立索引
$ bwa-mem2-2.2.1_x64-linux/bwa-mem2 index ref.fa
# bwa比对
$ nohup time bwa-mem2-2.2.1_x64-linux/bwa-mem2 mem -t 24 ref.fa JLTG01.filter.R1.fq.gz JLTG01.filter.R2.fq.gz 1>JLTG01.bwa.sam 2>JLTG01.bwa.log &
- -R "@RG\tID:W2018001\tPL:ILLUMINA\tLB:W2018001\tSM:W2018001" # 文件头信息,sam文件的,PL是有要求的,其余的自己设就好了
4.RSeQC
RSeQC是一个功能强大的软件,里面有很多实用的小工具,其中的bam_stat就是一个实用的bam/sam结果统计工具,安装方式也是相当简单了,就是一个python的包,支持python2.x和python3.x,这里我选用python3的pip来安装,因为本人习惯使用python3。
4.1安装
$ pip3 install RSeQC
4.2统计
$ bam_stat.py -i JLTG01.bwa.sam